package com.zjq.authoritysystem.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zjq.authoritysystem.dto.RolePermissionDto;
import com.zjq.authoritysystem.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zjq.authoritysystem.vo.query.RoleQueryVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author BetOnMe
 * @since 2023-09-18
 */
public interface RoleService extends IService<Role> {

    /**
     * 分页查询角色信息
     * @param roleQueryVo 角色查询条件
     * @return 角色分页信息列表
     */
    Page listByPage(RoleQueryVo roleQueryVo);

    /**
     * 删除角色信息
     * @param id 角色编号
     * @return 结果
     */
    boolean delete(Integer id);

    /**
     * 根据角色编码查询角色信息
     * @param code 角色编码
     * @return 角色
     */
    List<Role> getByCode(String code);

    /**
     * 保存角色权限信息
     * @param rolePermissionDto 角色权限信息
     * @return 结果
     */
    boolean saveRolePermissions(RolePermissionDto rolePermissionDto);
}
